package com.uacp.sgb.datos.dominio.persistencia.dao;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.NoResultException;
import javax.persistence.Query;

import com.uacp.sgb.datos.dominio.entidades.Adquisicion;
import com.uacp.sgb.datos.dominio.entidades.Pecosa;
import com.uacp.sgb.datos.dominio.persistencia.util.UtilManager;

public class AdquisicionDao 
{
	public static void actualizar(Adquisicion adquisicion)
	{
		EntityManager em = UtilManager.getEntityManager();
		EntityTransaction et = em.getTransaction();
		et.begin();
		em.merge(adquisicion);
		et.commit();
		em.close();
	}
	
	public static void guardar(Adquisicion adquisicion) 
	{
		EntityManager em = UtilManager.getEntityManager();
		EntityTransaction et = em.getTransaction();
		
		et.begin();
		em.persist(adquisicion);
		et.commit();
		em.close();
	}

	public static Adquisicion buscarPorPecosa(Pecosa pecosa) 
	{
		Adquisicion adquisicion;
		
		EntityManager em = UtilManager.getEntityManager();
		
		Query query = em.createNamedQuery("Adquisicion.buscarPorPecosa");
		
		query.setParameter("codPecosa", pecosa.getCodigo());
		
		try
		{
			adquisicion = (Adquisicion)query.getSingleResult();
		}
		catch(NoResultException e)
		{
			em.close();
			return null;
		}

		em.close();
		
		return adquisicion;
	}
}
